processing 延时3秒
just delay for 3s.
python 版本
# !/usr/bin/python
# coding : utf-8
# CopyRight 2012 Adou , All Rights Reserved .
import cv , cv2
import threading
import Queue
import time
class Mirror(threading.Thread):
''''''
def __init__(self,queue):
self.__queue = queue
threading.Thread.__init__(self)
self.setDaemon(True)
def run(self):
while True:
try :
img , tm = self.__queue.get()
while time.time() < tm+3 :
#time.sleep(0.1)
continue
cv2.imshow('Mirror',img)
cv2.waitKey(10)
self.__queue.task_done()
except Queue.Empty:
break
if __name__ == '__main__':
queue = Queue.Queue(0)
mirror = Mirror(queue)
mirror.start()
cam = cv2.VideoCapture(0)
if not cam.isOpened() :
sys.exit(0)
while True :
if not cam.grab() :
break
flag,img = cam.retrieve()
#flag,img = cam.read()
if not flag :
break
tm = time.time()
queue.put((img,tm))
ch = cv2.waitKey(20)
if ch == ord(' '):
break
queue.join()